package com.vitogiovanni.tobook.servlet;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.vitogiovanni.tobook.entity.PrenotazioneEndpoint;
import com.vitogiovanni.tobook.utilities.PrenotazioneFallitaException;

public class InserisciPrenotazioneServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public InserisciPrenotazioneServlet() {
		super();
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//Get parameters
		String nomeLocale = req.getParameter("localedaprenotare");
		String emailUtente = req.getParameter("email");
		String nominativo = req.getParameter("nominativo");
		String numeroPostiString = req.getParameter("numeroposti");
		String notePrenotazione = req.getParameter("noteprenotazione");
		String dataPrenotazione = req.getParameter("dataprenotazione");
		String orarioPrenotazione = req.getParameter("orarioprenotazione");
		int numeroPosti = (int)Long.parseLong(numeroPostiString);
		//
		//
		// Implementare vero parsing data!!!!!
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");
		Date data = null;
		try {
			data = new Date(dateFormat.parse(dataPrenotazione).getTime() + timeFormat.parse(orarioPrenotazione).getTime());
		} catch (ParseException e1) {
		}		
		if(data == null)
		{
			resp.sendRedirect("/inserimento.html");
		}
		long durata = 2*60*60*1000;
		
		
		
		PrenotazioneEndpoint prenotazioneendpoint = new PrenotazioneEndpoint();
		try {
			prenotazioneendpoint.prenota(nomeLocale, nominativo, emailUtente, data.getTime(), durata, numeroPosti, notePrenotazione);
		} catch (PrenotazioneFallitaException e) {
		}
		
		resp.sendRedirect("/inserimento.html");
		
	}

}
